package enum

// 定义状态类型
type DayStatus int

// 状态常量
const (
	NormalWorkday DayStatus = iota
	WeekendOffDay
	WorkdayButWeekend
	LegalHoliday
	ERROR
)

// 状态描述
var StatusDescMap = map[DayStatus]string{
	NormalWorkday:     "普通工作日",
	WeekendOffDay:     "周末休息日",
	WorkdayButWeekend: "调休补班工作日",
	LegalHoliday:      "法定节假日",
}

// Val 返回状态的整数值
func (s DayStatus) Val() int {
	return int(s)
}

// Desc 返回状态的描述字符串
func (s DayStatus) Desc() string {
	if desc, ok := StatusDescMap[s]; ok {
		return desc
	}
	return "错误的 DayStatus 值"
}

// ParseStatus 通过整数值解析状态
//func ParseStatus(val int) DayStatus {
//	switch val {
//	case 0:
//		return NormalWorkday
//	case 1:
//		return WeekendOffDay
//	case 2:
//		return WorkdayButWeekend
//	case 3:
//		return LegalHoliday
//	default:
//		return ERROR // 或者返回错误状态
//	}
//}
